package com.THHSEI.runmap.serviceimpl;

import java.util.HashMap;
import java.util.List;
import java.util.Map;


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

import com.THHSEI.common.utils.JsonPluginsUtil;
import com.THHSEI.common.utils.Util;
import com.THHSEI.runmap.dao.D_Address;
import com.THHSEI.runmap.service.S_Address;

import net.sf.json.JSONObject;

/**
 * 智水地图网站配置
 * @author xiaolei
 * @date 2018年4月14日
 */
@Service
public class SI_Address implements S_Address {
	
	@Autowired
	private D_Address D_Address;

	
	/**
	 * 系统登录
	 * @author xiaolei
	 * @date 2018年10月10日
	 */
	@Override
	public List<Map<String, String>> systemLogin(String json) throws Exception {
		Map<String, Object> mapInfo = JsonPluginsUtil.json2Map(json);
		//查询是否能匹配上
		List<Map<String, String>> list = D_Address.systemLogin(mapInfo);
		if(list.size()==0){
			Map<String, String> resultMap = new HashMap<>();
			resultMap.put("verify", "false");
			resultMap.put("name", "");
			resultMap.put("userid", "");
			list.add(resultMap);
		}
		else{
			Map<String, String> resultMap2 = list.get(0);
			resultMap2.put("verify", "true");
		}
		return list;
	}

	
	/**
	 * 获取未完成任务列表
	 * @author xiaolei
	 * @date 2018年10月10日
	 */
	@Override
	public List<Map<String, Object>> getNoTaskList(String json) throws Exception {
		Map<String, Object> mapInfo = JsonPluginsUtil.json2Map(json);
		int userid = Integer.valueOf(mapInfo.get("userid").toString());
		List<Map<String, Object>> list = D_Address.getNoTaskList(userid);
		if (list!=null && list.size()>0) {
			Util.replaceNullToStr(list, "-");
		}
		return list;
	}

	
	/**
	 * 获取已完成任务列表
	 * @author xiaolei
	 * @date 2018年10月10日
	 */
	@Override
	public List<Map<String, Object>> getYesTaskList(String json) throws Exception {
		Map<String, Object> mapInfo = JsonPluginsUtil.json2Map(json);
		int userid = Integer.valueOf(mapInfo.get("userid").toString());
		List<Map<String, Object>> list = D_Address.getYesTaskList(userid);
		if (list!=null && list.size()>0) {
			Util.replaceNullToStr(list, "-");
		}
		return list;
	}

	
	/**
	 * 添加任务
	 * @author xiaolei
	 * @date 2018年10月10日
	 */
	@Override
	public List<Map<String, String>> addNewTask(String json) throws Exception {
		Map<String, Object> mapInfo = JsonPluginsUtil.json2Map(json);
		double lng = Double.valueOf(mapInfo.get("lng").toString());
		double lat = Double.valueOf(mapInfo.get("lat").toString());
		int userid = Integer.valueOf(mapInfo.get("userid").toString());
		List<Map<String, String>> list = D_Address.addNewTask(mapInfo,lng,lat,userid);
		return list;
	}

	
	/**
	 * 更新任务状态
	 * @author xiaolei
	 * @date 2018年10月10日
	 */
	@Override
	public List<Map<String, String>> updateTaskStatus(String json) throws Exception {
		Map<String, Object> mapInfo = JsonPluginsUtil.json2Map(json);
		int taskid = Integer.valueOf(mapInfo.get("taskid").toString());
		int status = Integer.valueOf(mapInfo.get("status").toString());
		List<Map<String, String>> list = D_Address.updateTaskStatus(taskid, status);
		return list;
	}

	
	/**
	 * 删除全部已完成任务
	 * @author xiaolei
	 * @date 2018年10月10日
	 */
	@Override
	public List<Map<String, String>> deleteAllYesTask(String json) throws Exception {
		Map<String, Object> mapInfo = JsonPluginsUtil.json2Map(json);
		int userid = Integer.valueOf(mapInfo.get("userid").toString());
		List<Map<String, String>> list = D_Address.deleteAllYesTask(userid);
		return list;
	}
	
	
	
	
	
	
	
	
	
	
	
}
